package com.service.device;

import com.dao.secondary.device.DevicePmdBaseInfoMapper;
import com.model.domain.device.GetDevicePmdBaseInfoDO;
import com.model.pojo.device.DevicePmdBaseInfo;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import com.github.pagehelper.PageHelper;

import java.util.List;

import org.springframework.stereotype.Service;


/**
 * @Author: zql
 * @Description: PMD播种机设备信息服务
 * @Data: 2023-06-08
 */
@Slf4j
@Service
@RequiredArgsConstructor
public class DevicePmdBaseInfoService {
    private final DevicePmdBaseInfoMapper devicePmdBaseInfoMapper;

    /**
     * 获取分页信息
     * @author tm
     * @date 2023-06-07 1:22
     * @param getDevicePmdBaseInfoDO
     * @return List<DevicePmdBaseInfo>
     */
    public List<DevicePmdBaseInfo> getPageList(GetDevicePmdBaseInfoDO getDevicePmdBaseInfoDO){
        PageHelper.clearPage();
        PageHelper.startPage(getDevicePmdBaseInfoDO.getPage(),getDevicePmdBaseInfoDO.getPageSize(),getDevicePmdBaseInfoDO.getSortRow() + getDevicePmdBaseInfoDO.getSortOrder());
        return devicePmdBaseInfoMapper.selectList(getDevicePmdBaseInfoDO);
    }

    public List<DevicePmdBaseInfo> getAllList(GetDevicePmdBaseInfoDO getDevicePmdBaseInfoDO){
        PageHelper.clearPage();
        PageHelper.orderBy(getDevicePmdBaseInfoDO.getSortRow() + getDevicePmdBaseInfoDO.getSortOrder());
        return devicePmdBaseInfoMapper.selectList(getDevicePmdBaseInfoDO);
    }

    public DevicePmdBaseInfo getById(Long id){
        return devicePmdBaseInfoMapper.selectByPrimaryKey(id);
    }

    public List<DevicePmdBaseInfo> getBySim(String sim){
        return devicePmdBaseInfoMapper.selectBySim(sim);
    }
    public int update(DevicePmdBaseInfo baseInfo){
        return devicePmdBaseInfoMapper.updateByPrimaryKeySelective(baseInfo);
    }

    public void updateList(List<DevicePmdBaseInfo> baseList){
        devicePmdBaseInfoMapper.updateListSelective(baseList);
    }

    public DevicePmdBaseInfo getByDtu(String dtu){
        return devicePmdBaseInfoMapper.selectByDtu(dtu);
    }
}
